package day01.base

import java.text.SimpleDateFormat
import java.util.Date

/**
 * @author wsl
 * @version 2022-04-14-17:44
 *          1. Scala语言是完全面向对象和函数的语言；Java语言不是完全面向对象的语言.例如基本类型 、一些关键字例如void(Unit对象) ,static(Object对象)等.
 *             2. object : Scala中是没有static. Scala通过object的方式来模仿java的中static
 *             3. def ： define的缩写. 声明方法.
 *             4. scala => main(args: Array[String]) => 变量名 : 变量类型
 *             *  java  => main(String[] args)  => 变量类型  变量名
 *             Java :  传统思想.  我爱上了一个女人  这个女人叫翠花
 *             Scala:  开放思想.  我爱上了翠花.  她是女人.
 *
 *          使用object修饰的"类",编译完之后会有两个class文件：当前类名.class和当前类名$.class
 *          1. 当前类名.class
 *             是一个final修饰的类，有static main方法 。
 *             2. 当前类名$.class
 *             是一个final修饰的类，有一个静态的当前类型的变量     public static demo2$ MODULE$;
 *             有一个私有的构造器            MODULE$ = this;       将当前类的对象赋值给  MODULE$
 *             有一个静态代码块              new  Scala02_object$ ()     创建当前类对象
 *             有一个普通的main方法         该方法中的代码就是 def main(args: Array[String]): Unit中的代码
 *
 *          3. 当前类名.class ==> static main ==> 当前类名$.class  ==> MODULE$  ==> 普通main
 *
 *          public final class demo2  {
 *          *  public static void main(String[] paramArrayOfString) {
 *          *    demo2$.MODULE$.main(paramArrayOfString);
 *          *  }
 *          }
 */
object HelloScala {
  def main(args: Array[String]): Unit = {
    System.out.println("Hello Scala")
    println("Hello Scala")

    val date: Date = new SimpleDateFormat("HH:mm:ss").parse("00:01:27")
    println(new SimpleDateFormat("HH").format(date))
  }
}
